# It is not intended for manual editing.
version = 3
-[[package]]
-name = "bumpalo"
-version = "3.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
-
[[package]]
name = "cc"
version = "1.2.13"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
- "js-sys",
"libc",
"wasi",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.74"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705"
-dependencies = [
- "once_cell",
- "wasm-bindgen",
]
[[package]]
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
-[[package]]
-name = "log"
-version = "0.4.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
-
-[[package]]
-name = "minicov"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b"
-dependencies = [
- "cc",
- "walkdir",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.20.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.93"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
-dependencies = [
- "proc-macro2",
-]
-
[[package]]
name = "ring"
version = "0.17.14"
"getrandom",
"libc",
"untrusted",
- "wasm-bindgen-test",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
]
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
[[package]]
name = "shlex"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-[[package]]
-name = "syn"
-version = "2.0.98"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
-
[[package]]
name = "untrusted"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.97"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c"
-dependencies = [
- "cfg-if",
- "once_cell",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.97"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d"
-dependencies = [
- "cfg-if",
- "js-sys",
- "once_cell",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.97"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.97"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.97"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49"
-
-[[package]]
-name = "wasm-bindgen-test"
-version = "0.3.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d919bb60ebcecb9160afee6c71b43a58a4f0517a2de0054cd050d02cec08201"
-dependencies = [
- "js-sys",
- "minicov",
- "once_cell",
- "scoped-tls",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-bindgen-test-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-test-macro"
-version = "0.3.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222ebde6ea87fbfa6bdd2e9f1fd8a91d60aee5db68792632176c4e16a74fc7d8"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "web-sys"
-version = "0.3.74"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "winapi-util"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
-dependencies = [
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.59.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_gnullvm",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
out_dir: &Path,
core_name_and_version: &str,
) {
- let (asm_srcs, obj_srcs) = if let Some(asm_target) = asm_target {
+ let (mut asm_srcs, mut obj_srcs) = if let Some(asm_target) = asm_target {
let perlasm_src_dsts = perlasm_src_dsts(generated_dir, asm_target);
let asm_srcs = asm_srcs(perlasm_src_dsts);
(vec![], vec![])
};
+ if target.arch == "arm" {
+ asm_srcs = vec![];
+ obj_srcs = vec![];
+ }
+
let core_srcs = sources_for_arch(&target.arch)
.into_iter()
.filter(|p| !is_perlasm(p))
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
#define OPENSSL_64_BIT
#define OPENSSL_AARCH64
-#elif defined(__ARMEL__) || defined(_M_ARM)
-#define OPENSSL_32_BIT
-#define OPENSSL_ARM
// All of following architectures are only supported when `__BYTE_ORDER__` can be used to detect
// endianness (in crypto/internal.h).
#elif !defined(__BYTE_ORDER__)
#error "Unsupported endianness"
#elif defined(__LP64__)
#define OPENSSL_64_BIT
-#elif defined(__ILP32__)
-#define OPENSSL_32_BIT
-// Versions of GCC before 10.0 didn't define `__ILP32__` for all 32-bit targets.
-#elif defined(__MIPSEL__) || defined(__MIPSEB__) || defined(__PPC__) || defined(__powerpc__) || defined(__csky__) || defined(__XTENSA__)
-#define OPENSSL_32_BIT
#else
-#error "Unknown target CPU"
+#define OPENSSL_32_BIT
#endif
#if defined(__APPLE__)
// Disable 32-bit Arm assembly on Apple platforms. The last iOS version that
// supported 32-bit Arm was iOS 10.
-#if defined(OPENSSL_APPLE) && defined(OPENSSL_ARM)
+//#if defined(OPENSSL_APPLE) && defined(OPENSSL_ARM)
#define OPENSSL_ASM_INCOMPATIBLE
-#endif
+//#endif
#if defined(OPENSSL_ASM_INCOMPATIBLE)
#undef OPENSSL_ASM_INCOMPATIBLE
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64",
target_arch = "x86"
))]
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#![cfg(all(target_arch = "arm", target_endian = "little"))]
+#![cfg(all(target_arch = "armxxx", target_endian = "little"))]
use super::{Counter, Overlapping, AES_KEY};
}
}
-#[cfg(all(target_arch = "arm", target_endian = "little"))]
+#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
impl AES_KEY {
pub(super) unsafe fn derive(
f: for<'a> unsafe extern "C" fn(*mut AES_KEY, &'a AES_KEY),
#![cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
type RequiredCpuFeatures = cpu::arm::Neon;
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64"
))]
impl EncryptBlock for Key {
}
}
-#[cfg(all(target_arch = "arm", target_endian = "little"))]
+#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
impl EncryptCtr32 for Key {
fn ctr32_encrypt_within(&self, in_out: Overlapping<'_>, ctr: &mut Counter) {
use super::{super::overlapping::IndexError, bs, BLOCK_LEN};
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
Simd(Combo<aes::vp::Key, gcm::neon::Key>),
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
if let Some(cpu) = cpu.get_feature() {
return Self::new_neon(key, cpu);
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
#[cfg_attr(target_arch = "aarch64", inline(never))]
fn new_neon(key: aes::KeyBytes, cpu: cpu::arm::Neon) -> Result<Self, error::Unspecified> {
#[cfg_attr(
any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64",
),
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64",
target_arch = "x86"
))]
#[cfg_attr(
any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
),
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64",
target_arch = "x86"
))]
all(
any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
),
target_feature = "neon"
),
cfg_if! {
if #[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))] {
unsafe { (1, (), Overlapping<'_>) => ChaCha20_ctr32_nohw },
self, counter, in_out, ())
}
- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
use cpu::{GetFeature as _, arm::Neon};
const NEON_MIN_LEN: usize = 192 + 1;
if in_out.len() >= NEON_MIN_LEN {
test,
not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64"
))
))]
// Always use `MAX_OFFSET` if we hav assembly code.
let max_offset = if cfg!(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
)) {
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
/// `ghash()`.
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
/// * `f` may inspect CPU features.
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
pub(super) unsafe fn gmult(
&self,
#![cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
use super::{HTable, KeyValue, UpdateBlock, UpdateBlocks, Xi, BLOCK_LEN};
}
#[cfg(any(
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86"
))]
pub fn copy_within(self) -> &'o mut [T]
}
#[cfg(any(
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86"
))]
pub fn into_slice_src_mut(self) -> (&'o mut [T], RangeFrom<usize>) {
// TODO: enforce maximum input length.
use super::{Tag, TAG_LEN};
-#[cfg(all(target_arch = "arm", target_endian = "little"))]
+#[cfg(all(target_arch = "armxxx", target_endian = "little"))]
use crate::cpu::GetFeature as _;
use crate::{cpu, polyfill::slice::AsChunks};
}
pub(super) enum Context {
- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
ArmNeon(ffi_arm_neon::State),
Fallback(ffi_fallback::State),
}
impl Context {
#[inline]
pub(super) fn from_key(key: Key, cpu: cpu::Features) -> Self {
- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
if let Some(cpu) = cpu.get_feature() {
return ffi_arm_neon::State::new_context(key, cpu);
}
fn update_internal(&mut self, input: &[u8]) {
match self {
- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
Self::ArmNeon(state) => state.update_internal(input),
Self::Fallback(state) => state.update_internal(input),
}
pub(super) fn finish(mut self, input: &[u8]) -> Tag {
self.update_internal(input);
match self {
- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
Self::ArmNeon(state) => state.finish(),
Self::Fallback(state) => state.finish(),
}
// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#![cfg(all(target_arch = "arm", target_endian = "little"))]
+#![cfg(all(target_arch = "armxxx", target_endian = "little"))]
use super::{Key, Tag, KEY_LEN, TAG_LEN};
use crate::{c, cpu::arm::Neon};
(MIN_LIMBS, MOD_FALLBACK, ()) => bn_mul_mont_nohw
})
}
- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
const MIN_8X: usize = 8;
const MOD_8X: usize = 8;
if n.len() >= MIN_8X && n.len() % MOD_8X == 0 {
cfg_if! {
if #[cfg(not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64")))] {
// TODO: Stop calling this from C and un-export it.
feature = "alloc",
not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64"
))
))]
#[cfg(not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64"
)))]
fn limbs_mul(r: &mut [Limb], a: &[Limb], b: &[Limb]) {
test,
not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64",
))
))]
IntelCpu,
#[cfg(any(all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86", target_arch = "x86_64"))]
// Synthesized to ensure the dynamic flag set is always non-zero.
//
}
cfg_if::cfg_if! {
- if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "arm", target_endian = "little"),
+ if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86", target_arch = "x86_64"))] {
impl Features {
// SAFETY: This must only be called after CPU features have been written
const _: () = assert!(size_of::<Features>() == 0);
cfg_if::cfg_if! {
- if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "arm", target_endian = "little")))] {
+ if #[cfg(any(all(target_arch = "aarch64", target_endian = "little"), all(target_arch = "armxxx", target_endian = "little")))] {
pub mod arm;
use arm::featureflags;
} else if #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] {
// (`N0`, `Limb`, `LimbMask`, `crypto_word_t` etc.).
#[cfg(target_arch = "aarch64")]
const _ASSUMED_POINTER_SIZE: usize = 8;
- #[cfg(target_arch = "arm")]
+ #[cfg(target_arch = "armxxx")]
const _ASSUMED_POINTER_SIZE: usize = 4;
const _ASSUMED_USIZE_SIZE: () = assert!(size_of::<usize>() == _ASSUMED_POINTER_SIZE);
const _ASSUMED_REF_SIZE: () = assert!(size_of::<&'static u8>() == _ASSUMED_POINTER_SIZE);
polyfill::{once_cell::race, usize_from_u32},
};
use core::num::NonZeroUsize;
- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
use core::sync::atomic::{AtomicU32, Ordering};
pub(in super::super) fn get_or_init() -> cpu::Features {
let merged = CAPS_STATIC | detected;
#[cfg(all(
- target_arch = "arm",
+ target_arch = "armxxx",
target_endian = "little",
target_has_atomic = "32"
))]
;
// TODO(MSRV): 32-bit ARM doesn't support any static feature detection yet.
- #[cfg(all(target_arch = "arm", target_endian = "little"))]
+ #[cfg(all(target_arch = "armxxx", target_endian = "little"))]
pub(in super::super) const STATIC_DETECTED: u32 = 0;
}
#[cfg(all(
not(target_env = "uclibc"),
- all(target_arch = "arm", target_endian = "little")
+ all(target_arch = "armxxx", target_endian = "little")
))]
pub fn detect_features() -> u32 {
use super::CAPS_STATIC;
#[cfg_attr(
any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64"
),
allow(dead_code)
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86_64"
))]
#[macro_use]
} else {
sha2_32_ffi!(unsafe { () => sha256_block_data_order_nohw }, state, data, ())
}
- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
use cpu::{GetFeature as _, arm::Neon};
if let Some(cpu) = cpu.get_feature() {
sha2_32_ffi!(unsafe { Neon => sha256_block_data_order_neon }, state, data, cpu)
} else {
sha2_64_ffi!(unsafe { () => sha512_block_data_order_nohw }, state, data, ())
}
- } else if #[cfg(all(target_arch = "arm", target_endian = "little"))] {
+ } else if #[cfg(all(target_arch = "armxxx", target_endian = "little"))] {
use cpu::{GetFeature as _, arm::Neon};
if let Some(cpu) = cpu.get_feature() {
sha2_64_ffi!(unsafe { Neon => sha512_block_data_order_neon }, state, data, cpu)
let private_key = ops::MaskedScalar::from_bytes_masked(*private_key);
#[cfg(all(
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
any(target_os = "android", target_os = "linux")
))]
if let Some(cpu) = <cpu::Features as cpu::GetFeature<_>>::get_feature(&cpu_features) {
#[allow(unused_variables)] cpu_features: cpu::Features,
) {
#[cfg(all(
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
any(target_os = "android", target_os = "linux")
))]
if let Some(cpu) = <cpu::Features as cpu::GetFeature<_>>::get_feature(&cpu_features) {
// BoringSSL uses `!defined(OPENSSL_APPLE)`.
#[cfg(all(
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
any(target_os = "android", target_os = "linux")
))]
fn x25519_neon(
#![cfg_attr(
not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64",
feature = "alloc"
#[cfg(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
))]
self.0
}
- #[cfg(any(target_arch = "aarch64", target_arch = "arm", target_arch = "x86_64"))]
+ #[cfg(any(target_arch = "aarch64", target_arch = "armxxx", target_arch = "x86_64"))]
#[inline(always)]
pub fn as_ptr(&self) -> *const [T; N] {
self.0.as_ptr().cast()
#[deprecated = "`#[export_name]` creates problems and we will stop doing it."]
#[cfg(not(any(
all(target_arch = "aarch64", target_endian = "little"),
- all(target_arch = "arm", target_endian = "little"),
+ all(target_arch = "armxxx", target_endian = "little"),
target_arch = "x86",
target_arch = "x86_64"
)))]